package com.stylefeng.guns.modular.dto;

import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.modular.system.model.PurchaseGoods;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Objects;

public class PurchaseAddRequest implements Serializable {

    private Long id;
    /**
     * 实付金额
     */
    private BigDecimal amountPaid;
    /**
     * 应付金额
     */
    private BigDecimal amountPayable;
    /**
     * 订单编号
     */
    private String orderNumber;
    /**
     * 订单状态: 1->支付 0->未付
     */
    private Integer state;
    /**
     * 创建者
     */
    private String createBy = Objects.requireNonNull(ShiroKit.getUser()).getAccount();
    /**
     * 创建时间
     */
    private Date createDate;
    /**
     * 更新者
     */
    private String updateBy = Objects.requireNonNull(ShiroKit.getUser()).getAccount();
    /**
     * 更新时间
     */
    private Date updateDate = new Date();
    /**
     * 备注信息
     */
    private String remarks;
    /**
     * 删除标记（0：正常；1：删除）
     */
    private String delFlag;
    /**
     * 供应商id
     */
    private Long supplierId;

    /**
     * 下订单时候传递的商品列表
     */
    private List<PurchaseGoods> purchaseGoodsList;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public BigDecimal getAmountPaid() {
        return amountPaid;
    }

    public void setAmountPaid(BigDecimal amountPaid) {
        this.amountPaid = amountPaid;
    }

    public BigDecimal getAmountPayable() {
        return amountPayable;
    }

    public void setAmountPayable(BigDecimal amountPayable) {
        this.amountPayable = amountPayable;
    }

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public List<PurchaseGoods> getPurchaseGoodsList() {
        return purchaseGoodsList;
    }

    public void setPurchaseGoodsList(List<PurchaseGoods> purchaseGoodsList) {
        this.purchaseGoodsList = purchaseGoodsList;
    }
}
